package com.kds.smarthome.common;

import org.joda.time.DateTime;

/**
 * 日期范围工具类
 */
public class DateRangeUtils {

    /**
     * 获取指定日期的当天开始时间（0时0分0秒）
     * @param date 输入日期
     * @return 当天开始时间
     */
    public static DateTime getStartInDay(DateTime date) {
        return date.withTime(0, 0, 0, 0);
    }

    /**
     * 获取指定日期所在月的第一天开始时间（1日0时0分0秒）
     * @param date 输入日期
     * @return 当月第一天开始时间
     */
    public static DateTime getStartInMonth(DateTime date) {
        return date.withDayOfMonth(1)
                  .withTime(0, 0, 0, 0);
    }

    /**
     * 获取指定日期所在年的第一天开始时间（1月1日0时0分0秒）
     * @param date 输入日期
     * @return 当年第一天开始时间
     */
    public static DateTime getStartInYear(DateTime date) {
        return date.withMonthOfYear(1)
                  .withDayOfMonth(1)
                  .withTime(0, 0, 0, 0);
    }
}
